1. Field of the Invention
The present invention relates to a data distribution apparatus and method, and a data distribution system, for distributing multimedia data, such as moving picture data, via a network and for allowing a receiving terminal to play back the received multimedia data in a special mode.
2. Description of the Related Art
A conventional data distribution system for compressing and storing multimedia data, such as video data and audio data, and distributing such multimedia data via a transmission medium, and allowing a decoding terminal, which serves as a data receiving terminal, to receive, decode, and display the multimedia data is configured, such as that shown in FIG. 5. For a simple representation, a data distribution system for distributing only video data is shown in FIG. 5.
The conventional data distribution system shown in FIG. 5 is formed of a server 100 for transmitting video data and a decoding terminal 200 for receiving the video data transmitted from the server 100. In this data distribution system, the server 100 and the decoding terminal 200 are connected via a transmission medium 300, such as a communication line, and the video data is transmitted and received between the server 100 and the decoding terminal 200 via the transmission medium 300.
The server 100 includes a data storage unit 101 for storing video data, a special playback controller 102, and a transmitter 103, which transmits the video data to the decoding terminal 200.
The decoding terminal 200 includes a receiver 201, a decoder 202, and a special playback controller 203. The receiver 201 receives the video data transmitted from the transmitter 103 of the server 100. The decoder 202 decodes the received video data and outputs it to a display unit (not shown) so as to present the content of the video data to a user.
In the above-configured data distribution system, when performing a special playback operation, such as a fast-forward playback operation or an interrupting operation (pause), the user of the decoding terminal 200 inputs a special playback designation signal into the special playback controller 203. In response to this signal, the special playback controller 203 sends a special playback request to the special playback controller 102 of the server 100.
Then, the special playback controller 102 supplies a control signal S102 indicating the special playback request to the transmitter 103 according to the special playback request sent from the decoding terminal 200. The transmitter 103 then reads the special playback video data S101 from the data storage unit 101 according to the special playback request and sends it to the decoding terminal 200 via the transmission medium 300.
When the above-described data distribution system is employed in a home network, video data encoded in conformance with, for example, ISO/IEC13818-2 (MPEG-2video), is used. It is defined in ISO/IEC13818-2 that the video data must be encoded so as not to cause an overflow or an underflow in a decoder buffer, as shown in FIG. 6. The decoder buffer is referred to as a vbv buffer conforming to the MPEG standards.
More specifically, as shown in FIG. 6, it is necessary to encode each piece of video data with an individual decode time stamp (DTS) so as not to overflow the vbv buffer in excess of its buffer size (vbv_buffer_size) or cause an underflow in the vbv buffer. The video data is input into the vbv buffer at the transmission rate of the video data (indicated by the locus slope of the used portion of the vbv buffer) and is output from the vbv buffer in accordance with a decoding time (DTS).
There are two types of video frame encoding methods in compliance with ISO-IEC13818-2. In one method, Intra pictures (I-pictures) are encoded using data present in the frame itself. In the other method, Bidirectionally predictive pictures (B-pictures) and Predictive pictures (P-pictures) are encoded by utilizing an inter-frame motion prediction. In a conventional data distribution system, I-pictures to be encoded without using inter-frame motion prediction are used as the above-described special playback video data. The special playback data is formed of I-pictures, which are regularly contained in normal playback video data, and is used for a special playback operation.
In a conventional data distribution system, video data to be transmitted is packetized by using a transport stream (TS), which is defined in, for example, ISO/IEC13818-1 (MPEG-2 system), and the resulting packets are multiplexed with another type of data, such as audio data. According to ISO-IEC13818-1, a decoder model, such as that shown in FIG. 7, is used for decoding the TS.
The decoder model shown in FIG. 7 is formed of a switch 401 for selectively outputting a video packet from the input TS, a transport buffer (TB) 402, a multiplexing buffer (MB) 403, an elementary buffer (EB) 404, a video decoder (VD) 405, a reorder buffer 406, and a switch 407. A video packet is selected from the input TS by the switch 401 and is sent to the transport buffer 402 at the input rate, and further to the video decoder 405 via the multiplexing buffer 403 and the elementary buffer 404. The video packet is then decoded in the video decoder 405 and is output as video data.
In the above-configured decoder model, the buffer size of each buffer is determined, and the data transfer rate between buffers is also defined.
The elementary buffer 404 is equivalent to the vbv buffer used for video data. It is defined in ISO/IEC13818-1 that the video data must be packetized so as not to cause an overflow or an underflow in each buffer.
The transmission data, such as a TS, is transmitted by using protocols compatible with the transmission medium 300. For example, a TS which satisfies the standards of ISO/IEC13818-1 can be transmitted by an IEEE-1394 cable which conforms to IEEE-1394 standards according to a technique defined in the “Digital Interface for consumer audio/video equipment” of IES61883. According to MPEG-2-TS-over-1394, a TS which conforms to the MPEG2 standards is transmitted according to IEEE-1394 standards. It is proposed that the above-mentioned MPEG-2-TS-over-1394 be used in a home network for distributing the content stored in a server to a client, such as a television set, installed in a room.
In performing a special playback operation in the above-described conventional data distribution system, the server 100 transmits special video data prepared for a special playback operation via the transmission medium 300. When, for example, a fast-forward playback operation is performed as the special playback operation, video data formed of only I-pictures conforming to ISO-IEC13818-2 is transmitted. In this case, special playback video data different from the normal playback video data must be prepared in the data storage unit 101 of the server 100.
However, in order to transmit a TS via an IEEE-1394 cable according to a technique defined in IEC61883, such a TS must be defined in ISO/IEC13818-1.
If the special playback data is transmitted in a special distribution data format, the special decoding terminal 200 in accordance with such a distribution data format is required. For example, video data formed of only I-pictures conforming to ISO/IEC13818-2 is different from a normal playback video stream, which is encoded to satisfy the standards of the vbv buffer, and may cause an overflow or an underflow in the vbv buffer. Accordingly, there is a strong demand for a data distribution method which does not require the special server 100 and the special decoding terminal 200.
Additionally, according to a special data distribution method for a special playback operation, the decoding terminal 200 must have a decoding function for performing processing, not only for the normal playback operation, but also for the special playback operation, which makes the configuration of the decoding terminal 200 complicated. For example, when video data formed of only I-pictures conforming to ISO/IEC13818-2, which may cause an underflow in the vbv buffer, is transmitted to the decoding terminal 200 for performing a fast-forward playback operation, the decoding terminal 200 must deal with the following situation. If, even at a decoding time of a certain picture, the input data of such a picture is not entirely received, the decoding terminal 200 must use the data of, for example, the previous picture, in place of the missing data.
Moreover, in a home network system, a plurality of decoding terminals 200 may be connected to the server 100. In this case, a data transmission method usable in simply constructed decoding terminals 200 is demanded. However, such a method is not available according to a conventional technique.